Computer Programming
__TOC__ Computer Science/Programming * Type System (Wikipedia) ** Strong and weak typing ** Type conversion * Overview of Graphs * Canonical form * Closure (Wikipedia) ** First-class function ** First-class citizen * URL Template * Software Architecture (Wikipedia) * Model View ViewModel * GUI widget ** button, check box, radio, list box, drop-down list, combo box, spinner, slider, text box, ** tree, grid, menu, menu bar, toolbar ** label, tooltip, balloon help, status bar, progress bar, inforbar * Wikibooks/Computing * GrepCode.com ** a code search engine built by developers for developers to search and browse open source Java projects. Data Structure and Algorithms * Algorithms by S. Dasgupta, C.H. Papadimitriou, and U.V. Vazirani Tree * Tree traversal (Wikipedia) * Tree traversal * Java Data Structure: A Generic Tree * vivin / tree * vivin / GenericTree * Problem with Generics and sub-typing in my generic Tree implementation * Generic tree implementation in Java * Binary Search Tree Implementation in Java * API of javax.swing.tree.TreeModel * API of javax.swing.tree.TreeNode * API of javax.swing.tree.DefaultTreeModel * API of javax.swing.tree.DefaultMutableTreeNode Metasyntax * EBNF for XML * Extended Backus–Naur Form * BNF/EBNF variants Programming Language * Haskell : http://www.haskell.org/ ** an advanced purely-functional programming language. Security * Cryptographic Concepts * Block cipher mode of operation ** ECB, CBC, PCBC, CFB, OFB, ... Coding Convention * What is Coding Convention * Google Style Guide * FreeBSD kernel source file style guide * Java ** Code Conventions for the Java Programming Language ** Code Conventions for the JavaServer Pages Technology ** Naming Conventions for Enterprise Java Applications * C, C++ ** FFmpeg Coding Rules * JavaScript ** Google JavaScript Style Guide ** Mozilla Coding Style Guide > JavaScript practices ** Code Conventions for the JavaScript Programming Language by Douglas Crockford ** JavaScript Style Guide from jQuery's Style Guides ** WordPress JavaScript Coding Standards * HTML/CSS ** Google HTML/CSS Style Guide ** HTML Style Guide ** WordPress HTML Coding Standards ** WordPress CSS Coding Standards Java SE * Java SE 8 ** What's New in JDK 8 ** JDK 8 Features * Java SE 7 ** Java Platform Standard Edition 7 Documentation ** Highlights of Technology Changes in Java SE 7 * Java SE 6 ** Java SE 6 Documentation ** Highlights of Technology Changes in Java SE 6 ** Supported Encodings ** Built-in System Properties * Java SE 5 ** JDK 5.0 Documentation * The Java Tutorials * Java Language and Virtual Machine Specifications * Java Object Serialization Specification * Format String Syntax * Decimal Format * Date and Time Patterns * Message Format * Regular Expression * Java command line debug options ** JDWP (Java Debug Wire Protocol) : the protocol used for communication between a debugger and the Java VM. ** JPDA (Java Platform Debugger Architecture) : * Javadoc Tags in Java SE 6 * Javadoc Options in Java SE 6 API Documentation and Source Java SE * Java SE 8 API Specification * Java SE 7 API Specification * Java SE 6 API Specification * J2SE 5.0 API Specification * J2SE v1.4.2 API Specification * javax.annotation package API * javax.validation package API Java EE * J2EE 6 API Specification * J2EE v5.0 API Specifications * J2EE v1.4 API Specification Apache Commons * Commons Lang 3.3.2 API ** org.apache.commons.lang3.builder.EqualsBuilder ** org.apache.commons.lang3.builder.ReflectionToStringBuilder * Commons Collections 4.0 API * Commons Collections 3.2.1 API * Commons Validator 1.4.0 API * Commons IO 2.4 API * Commons Compress 1.6-SNAPSHOT API * Commons Math 3.2 API ** Commons Math 3.2 source * Commons Math 2.2 API ** Commons Math 2.2 source * Commons Configuration 1.6 API JSRs * [http://www.jcp.org/en/jsr/detail?id=94 JSR 94: Java Rule Engine API] ** defines a Java runtime API for rule engines. ** Jess 7 API documentation includes JSR94 API ** Getting Started With the Java Rule Engine API (JSR 94): Toward Rule-Based Applications * [http://jcp.org/en/jsr/detail?id=303 JSR 303: Bean Validation] ** define a meta-data model and API for JavaBean validation based on annotations, with overrides and extended meta-data through the use of XML validation descriptors. * [http://jcp.org/en/jsr/detail?id=349 JSR 349: Bean Validation 1.1] ** standardizes constraint definition, declaration and validation for the Java platform. ** http://beanvalidation.org ** [http://beanvalidation.org/1.1/spec/ Bean Validation specification 1.1 Final] ** Bean Validation API 1.1.0.Final ** Maven repository » javax.validation » validation-api ** Declaring bean constraints (in the reference manual of Hibernate Validator) * [http://jcp.org/en/jsr/detail?id=305 JSR 305: Annotations for Software Defect Detection] ** work to develop standard annotations (such as @NonNull) that can be applied to Java programs to assist tools that detect software defects. ** JSR305 API ** Maven repository » com.google.code.findbugs » jsr305 * [http://jcp.org/en/jsr/detail?id=308 JSR 308: Annotations on Java Types] ** extends the Java annotation syntax to permit annotations on any occurrence of a type. ** Type Annotations Specification ** Type Annotations (JSR 308) and the Checker Framework ** Checker Framework API ** The Checker Framework Manual ** Maven repository » edu.washington.cs.types.checker » checker-framework * [https://jcp.org/en/jsr/detail?id=353 JSR 353: Java API for JSON Processing (JSON-P)] * [https://jcp.org/en/jsr/detail?id=356 JSR 356: Java API for WebSocket] Concurrency * Doug Lea's Home Page * Atomicity, Visibility and Ordering * How Synchronization works in Java ? Example of synchronized block * Concurrency series * Java theory and practice: Introduction to nonblocking algorithms * Performance of ReentrantLock and Synchronized * Concurrency in JDK 5.0 (23 Nov 2004) Annotation * Package net.jcip.annotations * Package org.apache.http.annotation : Thread-safety annotations based on JCIP-ANNOTATIONS Reflection * Instantiating Objects Of Type Parameter Without Passing Class Literal To Instance Collection * Outline of the Collections Framework * How much memory does a Hashtable use? * String array Initialization in JAVA(Jul 7 '13) Generic * Generics from Java SE 1.5 documentation * Lesson: Generics from The Java Tutorials * Reflecting generics * Java theory and practice: Generics gotchas * Diagnosing Java code: Java generics without the pain, Part 1 * How to: generic array creation * Generic array in ArrayList implimentation Enum * Typesafe Enums from Java SE 1.5 documentation * Draft spec for a Typesafe Enum Facility * Bootstrapping static fields within enums ** static fields cannot be accessed within the enum constructor * Nested Java enum definition - does declaring as static make a difference? IO and Networking * HttpURLConnection’s Dark Secrets * Java HttpURLConnection (how to open and read a url with Java) * Java URL and URLConnection example - how to read content from a URL) * Setting the default Java character encoding? Caching * Cache Abstraction from reference documentation of Spring Framework 3.1 * Explanation for how to use Guava caches. XML * Saxon - Configuration Features * Parser Features - Apache XML * 'Processing XML with Java' (Book written by Elliotte Rusty Harold) * Always explicitly specify which XML parser to use * Is it a good idea to share a single DocumentBuilder instance accross multiple threads? ** DocumentBuilder is NOT thead-safe * XML Parser Benchmarks: Part 1 (May 2007) * Make DocumentBuilder.parse ignore DTD references * Using Xalan alongside Saxon * Using Saxons S9API Interface * How to Validate XML using Java * The Java XML Validation API from developerWorks (08 Aug 2006) * XPath 1.0 queries on JAXB objects? (Jun 2010) * TagSoup and XPath * Parsing an XML Document with XPath(01/12/2005) * Using the Java language NamespaceContext object with XPath(19 May 2009) * [http://www.edankert.com/defaultnamespaces.html XPath and Default Namespace handling] ** sample Java codes using Jaxen, JAXP XPathFactory, or XSLT. JDBC * General ** Enum org.springframework.integration.jdbc.config.JdbcTypesEnum API * Oracle Database ** JDBC driver : http://www.oracle.com/technetwork/database/features/jdbc/index-091264.html ** Connection properties *** OracleDataSource.setConnectionProperties(java.util.Properties value) ** Diagnosability *** Diagnosability with Oracle JDBC Driver * IBM DB2 ** JDBC driver : http://www-01.ibm.com/support/docview.wss?rs=71&uid=swg21363866 ** Connection properties *** Properties for the IBM Data Server Driver for JDBC and SQLJ * Microsoft SQL Server ** JDBC driver : http://msdn.microsoft.com/en-us/sqlserver/aa937724 ** Connection properties *** Setting the Connection Properties - SQL Server 2008 R2 * MySQL ** Connection properties *** Driver/Datasource Class Names, URL Syntax and Configuration Properties for Connector/J from MySQL 5.0 Reference * HSQLDB ** JDBC Driver *** hsqldb » hsqldb : 1.6.x ~ 1.8.x *** org.hsqldb : 2.0.x ~ ** Connection URL *** org.hsqldb.jdbc.JDBCConnection ** Connection properties *** Connection properties *** Database Properties in Connection URL and Properties Security * Java Cryptography Architecture(JCA) Reference Guide * JCA Standard Algorithm Name Documentation * Cryptographic Concepts * Java SE 7 Security Documentation * JCA Oracle Providers in JDK 7 * Java SE 6 Security Documentation * JCA Sun Providers in JDK 6 * J2SE 1.5 Security JMX * JMX Speciﬁcation, version 1.4 * Java Dynamic Management Kit 5.1 Tutorial * JMX Best Practices > Open MBeans * Authentication and Authorization in JMX RMI connectors * Object name and object name pattern * JSR 160: JMX Remote API * JSR 262: Web Services Connector for JMX Agents * Jetty/Tutorial/JMX JNI * JNI at Wikipedia * JNI Specification * JNI Enhancements Introduced in version 1.2 of the Java 2 SDK * JNI Functions ** typedef const struct JNINativeInterface *JNIEnv; * JNI Type Mapping * Visual C++ Fundamental Types * [https://www3.ntu.edu.sg/home/ehchua/programming/java/JavaNativeInterface.html Java Programming Tutorial - Java Native Interface (JNI)] ** Never miss '--add-stdcall-alias' to prevent UnsatisfiedLinkError * Java programming with JNI(developerWorks, 26 March 2002) * JNI Tips * Best practices for using the Java Native Interface(developerWorks, 07 July 2009) * In JNI, how do I cache the class, methodID, and fieldIDs per IBM's performance recommendations?(May 16 '12) * debugging ** Debugging JNI C and Java code in Eclipse ** Debugging integrated Java and C C++ code ** Failed to execute MI command(13 June 2011) *** Don't forget to toggle on Non-stop mode misc * Top 10 JavaCodeGeeks posts for 2010 * Dynamically change classpath at runtime * Argue against Pair class * JAR Manifest Specification * Open Source Code Analyzers in Java * Redistribution of JDK 6 * Silent installation of JDK and JRE * Silent installation of JRE * Implementing in-memory compression for objects in Java * Why should I use the keyword “final” on a method parameter in Java? * Integer.valueOf() vs. Integer.parseInt() * What is String literal pool? How to create a String * Java Doclet and Javadoc information presented by Zentech * Javadocs and UML class diagrams with UMLGraphDoc * Protect Your Java Code — Through Obfuscators And Beyond(20-Feb-2015) * Remote debugging a Java application (Jun 10 '09) * Debug Java applications remotely with Eclipse (09 December 2008) * Java Mission Control (Finally) Released!(September 10, 2013) Java EE * Java EE 7 Technologies * Java EE 6 Technologies * Java EE 5 Technologies * Java EE 5 Schemas * J2EE 1.4 Technologies * The Java EE 6 Tutorial ** J2EE Transaction Propagation Attributes *** Required, RequiresNew, NotSupported, ... * JSP Tutorial * Be careful with Singleton Session Bean (01/31/2010) * J2EE Transaction Frameworks: Building the Framework (04/26/2001) * OpenEjb, Jetty and Maven - Transaction Management * OpenEjb - Embedded Configuration * JPetStore Expression Language (EL) * JSR 341: Expression Language 3.0 * The Java EE 6 Tutorial > Expression Language * Unified Expression Language for JSP and JSF(March 7, 2006) JAX-RS * JSR 311: JAX-RS: The Java API for RESTful Web Services ** JAX-RS 1.1 Specification ** JAX-RS 1.1 API * JSR 339: JAX-RS 2.0: The Java API for RESTful Web Services ** JAX-RS 2.0 API * JAX-RS Services Description Java Programming Logging *Commons Logging FAQ *When Static References to Log objects can be used AOP *AspectJ Load-Time Weaving *JBossAOP 1.3 Documentation *aop.xml name and location? Testing * Open-source test management tools * Is there a way to ignore a single FindBugs warning? - edu.umd.cs.findbugs.annotations.SuppressWarnings * JUnit 4 Vs TestNG -- Comparison Debugging * Effective Java Debugging with Eclipse Ruby * Ruby programming language * RailsInstaller ** the quickest way to go from zero to developing Ruby on Rails applications. * RubyGems Guide/Pattern * 'Ruby Essentials' (a free on-line book) * API ** Ruby 1.9.3 Standard Library Documentation * Convention ** Ruby coding style guide ** Ruby and Rails Naming Conventions ** RubyCodingConvention Python * [https://www.python.org/ python] * References ** PyPI - the Python Package Index * API ** Python 3.4 *** Built-in Functions *** Module Index *** General Index C, C++ * ISO/IEC 9899:TC3 Programming languages — C * ISO/IEC 9899:201x Programming languages — C * ANSI C Specification * The C Library Reference Guide by Eric Huss ** printf function * The C Book * C Programming Tutorial * Standard C++ Library reference * Google C++ Style Guide * C++ Coding Standard * Recursive Make Considered Harmful * C++ dlopen mini HOWTO(2006-03-16) ** using extern "C" gcc, g++ * The GNU C Reference Manual * GNU C Library master sources * GNU Coding Standards/Making The Best Use of C ** Naming Variables, Functions, and Files * HOWTO Create and Deploy a Sample DLL using MinGW(November 20th, 2009) ** building C/C++ sources containing __declspec(dllexport) and __declspec(dllimport) using MinGW * How to suppress warnings about unused variables in C++?(Aug 6 '12) ** The -Wno-__ options turn off the options set by -W__. Visual C++ * Visual C++ Language Reference ** Visual C++ Fundamental Types * Dynamic-link library(Wikipedia) * dllexport, dllimport(MSDN) * what does __declspec(dllimport) really mean?(Jan 14 '12) * Using extern to Specify Linkage(MSDN) C# * C# Station Tutorial HTML * W3C HTML Current Status * HTML 4.01 Specification * XHTML 1.0 Specification * HTML5 Specification * HTML syntax * HTML events * HTML 4 Reference at WDG * HTML Tutorial at W3Schools * HTML5 Tutorial at W3Schools * Compatibility tables for support of HTML5, CSS3, SVG and more in desktop and mobile browsers * HTTP Gallery * Is it possible to change width of tab symbol in textarea? * Why must we still close SCRIPT elements? * Comparison of HTML parsers * Parsing HTML Table using Java XPath * Void elements of HTML5 ** area, base, br, col, command, embed, hr, img, input, keygen, link, meta, param, source, track, wbr ** a "/" character, which may be present only if the element is a void element. ** Void elements only have a start tag; end tags must not be specified for void elements. * HTML5 Custom Data Attributes (data-*) (May 27th, 2010) Named Entity * HTML 4 Entities * HTML ISO-8859-1 Reference * HTML Symbol Entities Reference * List of XML and HTML character entity references * Character entity references in HTML 4 (in HTML 4.01 Specification) * Named character references in HTML5 Working Draft SVG * SVG 1.1 Specification ** SVG's styling properties * SVG Tutorial at W3Schools * SVG Essentials (J. David Eisenberg, 2002, O'Reilly) * SVG Tutorial at PrinceXML * Box model properties (margin, padding) for SVG element. Are they supported? * CSS padding property for svg elements * SVG Viewport and View Box Canvas * HTML 5 Draft/The canvas element * HTML Canvas Reference * WebKit DOM Programming Topics > Using the Canvas * Canvas tutorial at MDN * HTML5 canvas - the basics Schema.org * Getting started with schema.org * Full list of types CSS * References and Tutorials ** W3C CSS Current Status ** CSS3 Tutorial at W3Schools ** CSS Tutorial at W3Schools ** Selectors Level 3 ** CSS2 Selectors (at CSS2 specification) ** CSS Guide by Web Design Group ** CSS Identifiers ** Floatutorial - Simple tutorials on CSS floats * Articles ** Vendor-specific CSS Properties ** CSS Rounded Corners In All Browsers (With No Images) ** Writing efficient CSS for use in the Mozilla UI ** The 100% Easy-2-Read Standard (17. November 2006) ** Selector *** The CSS3 :Not() Selector *** CSS combinator precedence? *** CSS Target All H Tags (Sep 24 '11) **** The answer is None with CSS standard. *** Are parentheses allowed in CSS selectors? (Mar 29 '11) **** The answer is No with CSS standard. ** Box model *** CSS box model tutorial *** The CSS Box Model *** Box Sizing ** Positioning *** Overlapping elements in CSS *** Learn CSS Positioning in Ten Steps ** Font *** CSS Font-Size: em vs. px vs. pt vs. percent *** [http://www.smashingmagazine.com/2011/11/29/the-perfect-paragraph/ The Perfect Paragraph] (November 29th, 2011) *** How to Size Text in CSS (November 20, 2007) *** Design for Developers *** What’s The Best Font & Font Size To Use In Website Design? (December 23rd, 2007) * Collections ** 20 Exceptional CSS Boilerplates and Frameworks ** 20+ Thoughts on CSS/HTML Preprocessors and Frameworks (Updated) ** Responsive CSS Framework Comparison * Fonts ** Consolas *** ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789 JavaScript * References and Guides ** ECMAScript Language Specification 5.1 Edition ** Annotated ECMAScript 5.1 ** JavaScript at Mozilla Developer Network(MDN) ** JavaScript Reference at Mozilla Developer Network *** Global Objects - Value properties and Function properties *** Standard built-in objects *** null : only literal not a property of the global object *** Object.preventExtensions(),Object.seal(), Object.freeze(), Object.defineProperty() *** Object.prototype.constructor *** Object.prototype.__proto__ *** API of Array object *** API of RegExp object ** JavaScript Guide at Mozilla Developer Network ** JavaScript Tutorial at W3Schools ** The JavaScript Tutorial * Articles ** Douglas Crockford's Javascript *** JavaScript: The World's Most Misunderstood Programming Language ** Learn Advanced JavaScript Programming ** JavaScript. The core ** Learning Advanced JavaScript ** Google JavaScript Style Guide ** [http://stackoverflow.com/questions/2074982/how-to-insert-script-with-prototype How to insert